Ospf optimization for hub and spoke environment

ABSTRACT

A method and apparatus for routing data in a network is disclosed. A spoke router signals its intention to act as spoke in a new bit in Hello and database descriptor packets. A router acting as hub acknowledges the spoke request. Once the spoke router receives the hub&#39;s acknowledgement, it installs a default route to the hub router. Flooding is suppressed from hub to spoke. Instead of flooding, the hub router sends empty database descriptor packets so that no request is sent from spoke routers and any further change in the topology is not sent to spoke routers. This minimizes the flooding in this environment.

FIELD

The present invention relates broadly to packet-switched networks havinga hub and spoke topology. Specifically, the present invention relates toa spoke router communicating a request to a hub router, receivingacknowledgement from the hub router, and setting a default path to thehub router.

BACKGROUND

Open Shortest Path First (OSPF) is a routing protocol developed forInternet Protocol (IP) networks. OSPF is a link-state routing protocolthat calls for the sending of link-state advertisements (LSAs) to allother routers within the same hierarchical area. Information on attachedinterfaces, metrics used, and other variables, is included in OSPF LSAs.As OSPF routers accumulate link-state information, they use algorithmsthat calculate the shortest path to various routers (network nodes). Atopological database is essentially an overall picture of networks inrelationship to routers. The topological database contains thecollection of LSAs received from all routers in the same area. Becauserouters within the same area share the same information, they haveidentical topological databases.

The Shortest Path First (SPF) routing algorithm is the basis for OSPFoperations. When a router using the SPF algorithm is powered up, itinitializes its routing-protocol data structures and then waits forindications from lower-layer protocols that its interfaces arefunctional. After a router is assured that its interfaces arefunctioning, it uses the OSPF Hello protocol to acquire neighbors, whichare routers with interfaces to a common link. The router sends hellopackets to its neighbors and receives their hello packets. In additionto helping acquire neighbors, hello packets also act as “keepalives,”messages that let routers know that other routers are still functional.On multi-access networks (networks supporting more than two routers),the Hello protocol elects a designated router and a backup designatedrouter. Among other things, the designated router is responsible forgenerating LSAs for the entire multi-access network. Designated routersallow a reduction in network traffic and in the size of the topologicaldatabase.

When the topological databases of two neighboring routers aresynchronized, the routers are said to be adjacent. Adjacencies controlthe distribution of routing-protocol packets, which are sent andreceived only on adjacencies. Each router periodically sends its LSAs toprovide information on a router's adjacencies or to inform others when arouter's state changes. By comparing established adjacencies to linkstates, failed routers can be detected quickly, and the network'stopology can be altered appropriately. From the topological databasegenerated from LSAs, each router calculates a shortest-path tree (SPT),with itself as root. The SPT, in turn, yields a routing table.

When two OSPF neighboring routers establish an adjacency, they gothrough a finite state machine (FSM). For each neighbor, the routermaintains a separate, independent from the other neighbors, FSM. EachFSM goes through several states before establishing adjacency. The twonormal long-term states are known to those skilled in the art as “2-way”and “Full.” Depending on the role a router (and its neighbors) play on aparticular network, it is expected that the router reach either 2-way orFull state with its neighbors. However, it should never maintain anyother state with a neighbor for a prolonged period of time.

In OSPF, before two routers can announce an adjacency to each other anduse their common link for forwarding data, they have to exchange theirdatabases through database description (DD) packets to assure that theirdatabases are synchronized. In situations where routers already have asynchronized database and establish a new adjacency over a link, theyspend some time in exchanging their database even though their databasemight be already synchronized. This is a time-consuming process thatalso requires processing resources on two separate routers.

A hub and spoke topology is defined as a point-to-multipoint networktopology where one or more routers, referred to herein as hub routers,are connected to sets of remote routers, referred to herein as spokerouters. In such a topology, a change in one of the spokes is propagatedto all of the other spokes although this information is not necessary asthe spoke's next hop remains unchanged with respect to the hub. Thisunnecessary flooding limits the scalability of hub and spoke design.Many enterprise networks have a hub and spoke topology requiring a largedeployment of hub and spoke. For example, in a topology having 1000spoke routers where a hub router typically has 10,000 link stateadvertisements (LSAs) in its database, it is necessary to make sure thatall of those LSA are sent to all of the spoke routers. This consumessubstantial CPU time and memory resources, and beyond a certain leveleither the CPUs are running high (often at 100% of their capacity) orthe memory completely consumed, thus limiting the number of LSAs andspokes that can be accommodated in the topology.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates in block diagram form a hub and spoke networktopology in accordance with the present invention.

FIG. 2 illustrates in block diagram form the major components of arouter embodying a hob router or a spoke router in accordance with thepresent invention.

FIG. 3 illustrates a sequence of acts executed by a spoke router inaccordance with the present invention.

FIG. 4 illustrates a sequence of acts executed by a hub router inaccordance with the present invention.

FIG. 5 illustrates a routing path between routers in accordance with thepresent invention.

DETAILED DESCRIPTION

The present invention allows OSPF to be realized in much larger hub andspoke router deployments. By drastically reducing the number of LSAsbeing sent to spokes, the effective runtime CPU/memory utilization ismuch lower, hence allowing for many more LSAs/spokes to be provisionedin the network than have been possible in previous topologies.

A spoke router signals its intention to act as spoke in a new bit inHello and DD packet options referred to as spoke request (SR). A routeracting as hub acknowledges the spoke request by setting the SA (spokeAck) bit in its Hello and DD packets. Once the spoke router sees thehub's SA bit set, it installs a default route to the hub router.

Flooding is suppressed from hub to spoke. Instead of flooding, the hubrouter sends empty DD packet so that no request is sent from spokerouters and any further change in the topology is not sent to spokerouters. This minimizes the flooding in this environment.

The present invention also can be utilized in embodiments havingIntermediate System-to-Intermediate System (IS-IS) topologies. IS-IS isa link-state routing protocol that behaves much like the Open ShortestPath First (OSPF) protocol. IS-IS was developed as part of the OpenSystem Interconnection (OSI) stack of protocols and uses OSI protocolsto deliver packets and establish adjacencies. IS-IS routers need to beassigned OSI addresses, which they use as router identifiers to createnetwork structure. IS-IS has been adapted to carry IP networkinformation, and this form is called Integrated IS-IS. Integrated IS-IShas the most important characteristic necessary in a modern routingprotocol: It supports VLSM and converges rapidly. It is also scalable tosupport very large networks.

IS-IS floods a network with link-state information to build a complete,consistent picture of a network topology. To simplify router design andoperation, IS-IS distinguishes between Level 1 and Level 2 ISs. Level 1ISs communicate with other Level 1 ISs in the same area. Level 2 ISsroute between Level 1 areas and form an intradomain routing backbone.Hierarchical routing simplifies backbone design because Level 1 ISs needto know only how to get to the nearest Level 2 IS. The backbone routingprotocol can also change without impacting the intra-area routingprotocol.

IS-IS uses three basic packet formats: IS-IS hello packets, link statepackets (LSPs), and sequence number packets (SNPs). Each of the threeIS-IS packet types has a complex format that includes an 8-byte fixedheader, a packet type-specific portion having a fixed length, and apacket type-specific portion having a variable length. For hub and spoketopologies utilized in IS-IS systems, the present invention also can berealized by placing within the IS-IS hello packets the SR bit describedabove for packets sent by spoke routers and placing the SA bit describedabove in the hello packets sent by hub routers. This allows theinvention described and illustrated as follows to be utilized in IS-ISsystems having hub and spoke topologies.

Directing attention to FIG. 1, hub router 100 is disposed between publicnetwork 102 and Internet service provider (ISP) network 104. On theother side of public network 102 is spoke router 106, which is incommunication with computers 108, 110. While FIG. 1 illustrates a singlespoke router, it is to be understood that a spoke site may containmultiple routers behind spoke router 106. Similarly, while only twocomputers 108, 110 are illustrated, it is to be understood that othercomputers can also be connected to spoke router 106.

FIG. 2 illustrates the main components found in hub router 100 and spokerouter 106.

Router 202 includes communication connection 210, processor 212, memory214, link state database 216, and shortest path data structure 218.Other components, commonly found in routers known to those skilled inthe art, are included in router 202, but are not illustrated.

Returning to FIG. 1, spoke router 106 announces its attached prefix in alink-local link state advertisement (LSA). This LSA is the only LSAflooded from spoke routers to hub routers. Hub router 100 uses thisinformation to have reachability to a spoke site and further announcethis information in its self-originated LSA as its attached prefix toother parts of the network.

Spoke router 106 sets the spoke request (SR) bit in its Hello packet inorder to request a spoke behavior. Hub router 100 acknowledges therequest by setting the spoke Ack (SA) bit. If no SA bit is received fromhub router 100, spoke router 106 continues to set the SR bit in itsHello but follows the standard OSPF behavior. The setting of SR and SAindicates the capability of hub and spoke to support the optimization.

For OSPFv3, the SR and SA bit are defined in options field:0  1  2...0  1  2  3  4  5  6  7  8  9  0  1  2  3  4+——+——+— —+——+——+——+——+——+——+——+——+——+——+——+——+——+——+|SR|SA|...|  |  |  |...|  |  |  | *| *|DC|R |N |MC|E |V6+——+——+— —+——+——+——+——+——+——+——+——+——+——+——+——+——+——+

For OSPFv2, the SR and SA bit are defined in LLS [LLS] EO-TLV that iscarried in both Hello and DD packets:+———+———+———+———+———+———+———+— —+———+———+———+———+———+———+|*  |*  |*  |*  |*  |...|*  |*  |  *|  *| SA| SR| RS| LR|+———+———+———+———+———+— —+———+———+———+———+———+———+———+———+

With respect to spoke router operations (FIG. 3), spoke router 106requests to serve as a spoke router in accordance with the presentinvention by setting the SR bit in its outbound Hello and DD packets inact 300. When spoke router 106 receives a Hello or DD packet (in ExStartNeighbor FSM) from hub router 100 (act 302), it determines whether ornot the packet contains a spoke acknowledgement in the form of theSA-bit (stub ack) set (decision act 304). If no spoke acknowledgement iscontained in the received packet, spoke router 106 communicates with hubrouter 100 under normal OSPF conditions at act 306. However, if thepacket contains a spoke acknowledgement it installs a default route tohub router 100 (act 308). The usage of SA and SR bit in DD packetassures that the communication is reliable.

It is to be understood that during DD exchange with respect to act 300,spoke router 100 is ONLY sending its attached prefix through alink-local LSA. For OSPFv2 the prefixes are advertised through a newOpaque type 9 LSA.

Directing attention to hub router operations shown in FIG. 4, when hubrouter 100 receives a spoke request (act 400), it sets the SA bit (spokeack) in its Hello and DD packet (act 402). When SA bit is set and theneighbor FSM reach synchronization, such as the 2-way state (act 404),hub router 100 goes through DD exchange with spoke router 106 but sendsempty DD packet so that no LSA is flooded to spokes (act 406). Allflooding toward spokes 108, 110 is suppressed.

At act 408, hub router 100 receives spoke router 106's link-LSA. Hubrouter 100 installs in its link state database the prefix advertised inspoke's link-LSA (act 410) and announces it in its intra-area-prefix-Isaas if the prefixes are directly attached. For OSPFv2, prefixes areadvertised as stub link in hub router 100's router LSA. Hub router 100does not advertise its adjacency with spoke routers, in its Router-LSA.

Advertising as a stub link in hub router 100's router LSA the prefixthat was advertised in spoke router 106's link-LSA minimizes the numberof LSAs and also avoids routing loops. Directing attention to FIG. 5, ifa spoke's LSAs are flooded through the flooding domain and are part ofSPT, router R1 can calculate a path to router R2 via the path [routerR1, hub 500, spoke 502, hub 504, router R2]. However, the spoke has notopology information but only default to hub 500 and hub 504 therefore arouting loop may occur. Not flooding spoke router 106's LSAs andannouncing its prefix as hub router 100's local prefix avoids therouting loop because spoke router 106 is never used as transit node.

For OSPFv3, the same link-LSA is used to advertise spoke router 106'sprefix to hub router 100. The P bit in prefix option is used in order tocontrol the re-advertisement of prefix by hub. By default the P bit isset and hub router 100 advertises the prefix in itsintra-area-prefix-LSA. If the P bit is clear the prefix is notpropagated further by hub router 100. For example, this mechanism can beused to limit the propagation of spoke router 106's prefix if hub router100 already advertises a default route into the domain. The prefix mayappear as follows: 0  1  2  3  4  5  6  7  8 +——+——+——+——+——+——+——+——+|  |  |  |DN| P|MC|LA|NU| +——+——+——+——+——+——+——+——+

For implementations utilizing OSPFv2, the present invention defines anew type 9 opaque LSA. The unique ID is a unique distinguisher forgeneration multiple link-LSA. The body of the link-LSA is defined asfollows: 0                   1                   2                   30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|            LS age             |     Options   |        9      |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+| Opaque—type   |            Unique ID                          |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|                     Advertising Router                        |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|                     LS sequence number                        |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|         LS checksum           |             length            |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|                         # prefixes                            |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|  PrefixLength | PrefixOptions |             0                 |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|                        IP Address                             |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|                              ...                              |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|  PrefixLength | PrefixOptions |             0                 |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+|                        IP Address                             |+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+

The present invention is particularly useful for a site with one or morespoke routers and no internal routers. If a spoke site has other routersbehind the spoke routers some additional mechanism is performed in orderto propagate a default route within the site and announce the site'sprefix to hub router 100. In this case, spoke router 106 has toadvertise all reachable prefix within the site in its link-LSA to hubrouter 100. Note that normal OSPF operations occur within the sitehowever spoke router does not flood any LSAs to hub router 100 exceptits Link-LSA in order to advertise the site's reachable prefix.Furthermore, spoke router 106 advertises a default route (type 5) withinthe site. The generation of the default is conditional and is generatedas long as spoke router 106 installs a default route toward hub router100, i.e. spoke neighbor FSM is at least ExStart so that the SA bit isset by hub router 100.

With respect to SPF and route calculation, for spoke routers having onlya hub router neighbor with SA bit set, no SPF is performed as no LSA isreceived from the hub router. A default route is installed as long asspoke neighbor FSM is at least Exstart. If spoke has other non-hubneighbors (i.e. spoke site) then SPF is performed for non-hub neighbors.

For example, on hub router 100, SPF is performed for non-spokeneighbors. For spoke neighbors, the prefixes received through spoke'slink LSA are treated as “stub” prefixes in the area. The reachability tothe LSA is maintained via Hello, that is, if the neighbor is down, theLSA is marked unreachable, and if the neighbor comes back up, the LSA ismarked reachable again.

Thus, the present invention optimizes OSPF operations in a hub and spokeenvironment by suppressing flooding between hub and spoke. The spokefloods an LSA advertising its site's prefix only over a local link.Further, options bit in Hello and DD packet are used for spoke requestand spoke acknowledgement. This allows the hub to automatically detectspoke capability but also used for default route installation on spoke.

The present invention increases the scalability of hub and spoketopology by drastically reducing the flooding between hub and spoke.Moreover, the spoke's link state database (LSDB) becomes independent ofthe size of hub and spoke topology allowing low-end platform to be used.

This present invention optimizes and scales to a great degree the use ofOSPF in hub and spoke as well as IS-IS topologies using hub and spoke.Also as resources are minimized on spoke it is expected that any low-endplatform can be used as spoke independently of the number of spokesconnected to hub.

The present invention can be used for an enterprise having a large huband spoke topology and seeking to scale OSPF in this environment, and isespecially useful in embodiments that use low-end platforms for spokerouters independently of the size of the hub and spoke topology.

While the present invention has been described and illustrated indetail, it is to be understood that many changes and modifications canbe made to various embodiments of the invention without departing fromthe spirit thereof.

1. A method of establishing communication between routers in acommunication network, the method comprising: a first router setting aspoke request bit in a first packet, the spoke request bit indicatingthat the first router is available to serve a second router as spokerouter; sending the first packet to the second router; receiving asecond packet from the second router, the second packet containing anacknowledgement that the spoke request bit in the first packet wasdetected by the second router; installing on the first router a defaultroute to the second router; and forming a hub and spoke topology withthe second router, wherein the second router is a hub router and thefirst router is a spoke router.
 2. The method of claim 1, wherein thefirst packet comprises a hello packet.
 3. The method of claim 1, whereinthe first packet comprises a database description packet.
 4. The methodof claim 1, wherein the acknowledgement comprises a bit, the bit set inthe second packet.
 5. The method of claim 1, wherein the first routerand the second router are located in separate systems in an intermediatesystem to intermediate system network topology.
 6. The method of claim6, wherein the default route is used for transmission of data betweenthe first router and the second router.
 7. The method of claim 1,further comprising the first router performing a database exchange withthe second router.
 8. A method of establishing communication betweenrouters in a communication network, the method comprising: a firstrouter receiving a first packet from a second router, the first packetcontaining a first indication that the second router wishes to form ahub and spoke relationship with the first router, the second routeroffering to serve as a spoke router; sending a second packet to thesecond router, the second packet containing a second indication that thesecond router wishes to form a hub and spoke relationship with the firstrouter, wherein the first router is a hub router; and performing adatabase exchange with the second router wherein the first router sendsempty database description packets to the second router.
 9. The methodof claim 8, wherein the first indication comprises a link stateadvertisement describing a spoke router.
 10. The method of claim 9,further comprising the first router storing a portion of the link stateadvertisement in a link state database.
 11. The method of claim 10,further comprising including the portion in a second link stateadvertisement, the second link state advertisement sent by the firstrouter to other routers.
 12. The method of claim 11, wherein the secondlink state advertisement comprises an intra-area-prefix link stateadvertisement.
 13. The method of claim 10, wherein the portion isincluded in a stub link portion of a link state advertisement.
 14. Themethod of claim 10, wherein the second link state advertisementcomprises a link state advertisement having an opaque type.
 15. Arouter, comprising: a communication network connection, across which therouter communicates data with other routers connected to thecommunication network; a memory; and a processor, the processorconfigured to: set a spoke request bit in a first packet stored in thememory, the spoke request bit indicating that the router is available toserve a second router as spoke router; send the first packet to thesecond router over the communication network connection; receive asecond packet from the second router, the second packet containing anacknowledgement that the spoke request bit in the first packet wasdetected by the second router; install in the memory a default route tothe second router; and form in the memory a representation of a hub andspoke topology between the second router and the router, wherein thesecond router is a hub router and the router is a spoke router.
 16. Acomputer program product, containing instructions which, when executedby a processor, establishes communication between routers in acommunication network, by: setting a spoke request bit in a first packetstored on a first router, the spoke request bit indicating that thefirst router is available to serve a second router as spoke router;sending the first packet to the second router; receiving a second packetfrom the second router, the second packet containing an acknowledgementthat the spoke request bit in the first packet was detected by thesecond router; installing on the first router a default route to thesecond router; and forming a hub and spoke topology with the secondrouter, wherein the second router is a hub router and the first routeris a spoke router.
 17. A router, comprising: a communication networkconnection, across which the router communicates data with other routersconnected to the communication network; a memory; and a processor, theprocessor configured to: receive over the communication networkconnection a first packet from a second router, the first packetcontaining a first indication that the second router wishes to form ahub and spoke relationship with the router, the second router offeringto serve as a spoke router; constructing a second packet in the memory,the second packet containing a second indication that the second routerwishes to form a hub and spoke relationship with the router, wherein therouter is a hub router; sending over the communication networkconnection the second packet to the second router; and performing adatabase exchange with the second router wherein the router sends emptydatabase description packets to the second router.
 18. Acomputer-readable medium containing instructions which, when executed bya processor, establish communication between routers in a communicationnetwork, by: receiving on a first router a first packet from a secondrouter, the first packet containing a first indication that the secondrouter wishes to form a hub and spoke relationship with the firstrouter, the second router offering to serve as a spoke router; sending asecond packet to the second router, the second packet containing asecond indication that the second router wishes to form a hub and spokerelationship with the first router, wherein the first router is a hubrouter; and performing a database exchange with the second routerwherein the first router sends empty database description packets to thesecond router.